package com.tong.wms.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author tong
 * @since 2024-10-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class Record implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 货品id
     */
    private Integer goods;

    /**
     * 取货人/补货人
     */
    @TableField("userId")
    private Integer userid;

    /**
     * 操作人id
     */
    private Integer admin_id;

    /**
     * 数量
     */
    private Integer count;

    /**
     * 操作时间
     *
     * @TableField(fill = FieldFill.INSERT)
     * 如果前端没有传递这个字段，MyBatis-Plus在执行插入操作时不会处理这个标记为自动填充的字段
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    // @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createtime;

    /**
     * 备注
     */
    private String remark;

    /**
     * @TableField(exist = false):
     * 表示该字段在数据库表中不存在
     * 当使用 MyBatis-Plus 的自动注入 SQL 语句功能时，会忽略这个字段，
     * 不会将其包含在 SQL 查询语句中。
     * 通常用于实体类中需要额外计算或处理的字段，而不需要与数据库表中的字段进行映射
     */
    @TableField(exist = false)
    private String action;

}
